package JDBC;

import com.mysql.cj.jdbc.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

import static java.lang.reflect.Array.setInt;

public class TestJDBC1 {
    public static void main(String[] args) throws SQLException {
        // 0.让用户输入id和name
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入id:");
        int id=scanner.nextInt();
//        System.out.println("请输入姓名:");
//        String name=scanner.next();

        // 1.创建数据源对象
        DataSource dataSource=new MysqlDataSource();

        // 2.设置一些属性
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java?characterEncoding=utf8&useSSL=false");//设置服务器地址
        ((MysqlDataSource) dataSource).setUser("root");//设置用户名
        ((MysqlDataSource) dataSource).setPassword("1234");//设置密码

        // 3.和服务器建立连接
        Connection connection =dataSource.getConnection();
        System.out.println(connection);

        // 4.程序构造sql语句(最主流:基于PreparedStatement类)
//        String sql="insert into student values("+id+",'"+name+"')";
        String sql="delete from student where id=?";//使用问号占位置,后序再替换掉,相当于C的%d
        PreparedStatement statement =connection.prepareStatement(sql);
        statement.setInt(1,id);//把第一个?的值替换为id
//        statement.setString(2,name);//把第二个?的值替换为name

        // 5.并且把sql语句发送到服务器上,让服务器执行
        int n=statement.executeUpdate();//返回值表示该操作影响了几行
        System.out.println(n);

        // 6.释放资源
        statement.close();
        connection.close();
    }
}
